The global positioning system (GPS) is a satellite based radio-navigation system built and operated by the United States Department of Defense. The Russian government operated ‘GLONASS’ and European Union proposed ‘Galileo’ are two other important satellite based navigational systems.
GPS permits a user of the system to determine his or her position on the surface of the earth. The system consists of twenty-four satellites circling the earth at an altitude of about 11,000 miles with a period of about 12 hours. It is possible to have more than twenty-four satellites due to the presence of some spare satellites in the GPS constellation. These satellites are placed in six different orbits such that at any time a minimum of six and a maximum of more than eleven satellites are visible to any user on the surface of the earth except in the polar region. Each satellite transmits an accurate time and position signal referenced to an atomic clock. A typical GPS receiver locks onto this signal and extracts the data contained in it and with signals from a sufficient number of satellites, a GPS receiver can calculate its position, velocity, altitude, and time.
We consider the case of Global Positioning System (GPS) as an example. Each of the satellites of the GPS system continuously transmits what is known as Navigation data at a rate of 50 bits/second. The Navigation data contains the clock corrections coefficients, ephemeris, almanacs and some other parameters such as the subframe ID and UTC and some correction terms to correct for the propagation delay due to ionosphere, etc. A subframe consists of 10 words with each word having a length of 30 bits. In this 30 bits, the last 6 bits are parity check bits. A frame on the other hand consists of 5 subframes with the first subframe containing the clock corrections, and the 2nd and 3rd subframes containing the ephemeris of the satellite from which it is transmitted. This ephemeris gives the accurate position of the satellite and is valid for 4 to 6 hours. The 4th and 5th subframes contains the almanacs of all the satellites. These almanacs give a less accurate position of the satellites and are valid for up to 6 days. The 4th and 5th subframes also contain some other navigation parameters. The 25 sequentially received frames form a super frame. These 25 frames contain the almanacs of all of the satellites.
The above data are BPSK modulated with a carrier at 1575.42 MHZ and are additionally spread by separate Pseudo Random Number (PRN) sequences of length 1023 chips. These sequences repeat every one millisecond. There are separate PRN or Gold sequences for each satellite. These sequences have good correlation properties which makes them easily extractable from very noisy weak signals. The high unique autocorrelation under zero shift condition is useful in accurate navigation.
Even though the transmitted frequency of the carrier signal is constant at 1575.42 MHz, the received frequency at the receiver is different because of the Doppler frequency due to the ever changing distance between the receiver and the satellite. This change occurs because of the earth and satellite motion relative to each other. The velocity of the receiver on earth if any also contributes to this Doppler frequency. Further, the drift in the receiver oscillator frequency introduces additional instability in the local frequency. All of these factors widen the range of the frequency search of the received signal.
The position, velocity and time estimation at the receiver requires the receiver to lock onto a sufficient number of satellite signals and to determine the pseudo range and extract the navigation data. This involves a two dimensional search for the frequency and PRN code phase of each of the satellite signals. Thus it is a two dimensional search in frequency and code phase. The PRN code has 1023 chips and the search has to be done at at least half chip intervals. Thus the minimum total code phase to search is 2046 phases. The frequency search involves a search of a number of frequency bins. The number of the bins depends on the bin size and the estimated carrier frequency variation. Further, the bin size depends on the coherent integration length. A correlation over one sequence is usually carried out first with a bin size of 500 Hz. However, for further integrations over several milliseconds the bin size must to be reduced. Thus for a coherent integration over two milliseconds the bin size is 250 Hz. Thus if there are N search bins present, then the acquisition involves the computation of 2046N correlation values. Since the GPS signals are normally weak (low power), this requires several identical confirmation stages before conclusively proving that the signal has been acquired.
A long coherent or non-coherent integration extending over several milliseconds is necessary when the signals are weak. This integration may extend over several hundred milliseconds. A non-coherent integration involves squaring loss and is therefore not efficient. Therefore a coherent integration is usually employed. A long coherent integration of the input signal requires a large number of frequency bins or low residual carrier frequency. If the coherent integration time is Tc seconds, then the carrier frequency or bin size should be less than
      1          2      ⁢              T        c              ⁢      Hz    .  In addition to this low frequency requirement, it is necessary to remove the navigation data bits in the signal when the integration time is more than 20 milliseconds. If these data bits are not removed, inversion of the samples may occur and integration result is not useful as cancellations in the summation occur. Therefore, it is necessary to remove the embedded data bits. However as explained earlier, most of these data bits are not known a priori except the preamble at the start of each sub-frame. Further, the navigation data bit edges are synchronized with the one millisecond samples, i.e. a data bit edge will be present within a 20 millisecond interval at one of the samples. Of course, this assumes there is a data bit polarity change within this interval because it may be possible to have consecutive data bits of the same polarity in which case the navigation data bit edge cannot be detected. Thus, the preamble start is aligned with each of the successive one millisecond samples as the starting point and the required coherent integration is carried out. The coherent integration results in a large peak when the data in the received signal matches with this local preamble at one of the one millisecond samples. A threshold value can be determined by a number of prior trials. Thus whenever the coherent integration exceeds this threshold the alignment of the local replica with the received signal may be assumed. As the week number is usually known, it is also possible to use 10 bits of the week number in place of preamble or use both of them. It is also possible to use the HOW word when the time information is available. A separate threshold can be determined when the week number or HOW are used. Thus, the known preamble or HOW word or week number of navigation data is assumed in coherent integration over a duration extending over several NAV data bits. As the threshold value can be determined by prior trial or experimentation, the preamble or the HOW word or week number is identified when the computed integration value is higher than a predetermined threshold value. In this scenario, because of interference or noise, it is possible to obtain more than one code phase position having an integration value greater than the threshold. The actual position may be confirmed by coherent integration after 6 seconds when the preamble or HOW repeats. But the value of HOW will increase by 1 after 6 seconds. For example, the actual position may be confirmed when an integration and an integrations 6 seconds later both exceed the threshold. On the other hand when week number is used, the coherent integration should be repeated after 30 seconds, 30 seconds being the repetition time of week number. The integration may have to be repeated several times in order to confirm a single position. Thus, the preamble or HOW word or week number synchronization is confirmed by integrating several times at regular predetermined time intervals, the predetermined time interval being the repeat time of the patterns.
Thus the above signal acquisition by long integration requires a long time to first fix (TTFF) and the computational load is also large with a large memory requirement. Thus there is a need in the art to improve the TTFF under very weak signal conditions such as in an indoor environment.
Sometimes GPS receivers are required to operate under very weak signal conditions as in the case of foliage or indoors. In the present day practice, the receiver may get “assistance” in the form of additional acquisition aiding messages from a server or base station, which may be wireless or Internet based. However, providing this type of assistance requires additional infrastructure and may not be available in all places. Also, the receiver requires additional hardware to receive the aiding messages. Therefore there is a need to develop GPS receivers that operate in “standalone” mode under weak or indoor signal conditions. In other cases of normal signal power a fast start with lower TTFF may be required as in the case of E911 (Enhanced 911). In addition to the above, methods to reduce power consumption in the receiver is also an important requirement in many applications.
Since obtaining the “assistance” requires the change in the infrastructure and protocol, an alternative method of using the frequency accuracy of communication systems like cellular communications, TV signals, DVB-H/T, DAB, etc. are being explored. A Master-Slave method is used in a high precision time synchronization in U.S. Pat. No. 6,236,623. U.S. Pat. No. 6,041,222 discloses a shared reference oscillator controlled by the base station reference signal. U.S. Pat. No. 5,841,396 uses the cellular base station signal to improve the accuracy of the common base oscillator. The other set of patents which include U.S. Pat. Nos. 7,082,292, 6,650,879 and the US patent application 2004/0132421 also use a common clock source calibrated by the base station signal with no calibration from the GPS receiver. Further, no correction is applied for Doppler frequency change. The TCXO of the communication receiver provides the uncorrected 13 Mhz clock (GSM) while an AFC circuit from the GSM provides the precision clock to the GPS baseband. U.S. Pat. No. 6,724,342 and US patent application 2004/0102165 disclose methods of compensating the common clock drift such as in the case of moving from one cell to another, commonly known as handover. A correction method using a base station signal is disclosed in U.S. Pat. No. 6,965,754 and US patent application 2003/0214436, which also discloses calibration from GPS. Further a temperature correction procedure using a temperature sensor is also included. However, as in the case of the '292, '879, '342 patents and the '421 and '165 patent application, these methods employ AFC correction through a correction module. The '754 patent does not compensate for the Doppler due to the relative motion between the receiver and satellite. US patent application 2003/0219082 uses the common oscillator in demodulation of the GPS signal. U.S. Pat. No. 6,122,506 discloses a GSM/GPS integrated receiver wherein the oscillator frequency is corrected from the frequency correction beacon (FCB) of GSM. U.S. Pat. No. 6,901,265 uses the base station signal but also depends upon a pilot signal.
All of the above noted references only deal with improving the frequency accuracy of the oscillator and do not disclose time accuracy for improved code phase search to decrease the acquisition time especially under very weak signal reception conditions. U.S. Pat. No. 6,839,547 uses two timing references from the base station in a counter. U.S. Pat. No. 5,945,944 uses the timing signal from the base station to determine the time of the day through an internal counter. However, this counter is not used for code phase estimation. The frequency calibration signal is not used for code phase estimation. Finally, U.S. Pat. No. 7,053,824 discloses using a time sync signal for code phase estimation and frequency offset information to reduce the frequency range. This is done without using a counter.
A frequency correction method using a base station signal is disclosed in U.S. Pat. No. 6,965,754 and US patent application 2003/0214436, which also discloses calibration from GPS. Further a temperature ramp correction using a temperature sensor is also disclosed. This '754 patent does not compensate for the Doppler with respect the base station.
When a GPS receiver is used with a communication device and is calibrated by the communication device, the temperature of the device and hence the common oscillator may increase between the calibrations. In an exemplary GSM cellular communication system, the interval between calibrations is 46 ms. As a result, the frequency may increase or decrease during this interval because of the device operation or other reasons. Usually the GPS receiver has to determine the code phase after sleep or power off time and therefore it is necessary to compensate for this frequency drift in order to obtain the accurate code phase and small TTFF.
Systems and methods that compensate for frequency drift due to temperature variation without the need for a temperature sensor are desirable to minimize the cost and power of a receiver.